import java.lang.reflect.Constructor;

/**
 * 泛型方法可以定义在普通类中，也可以定义在泛型类中
 */

public class GenericMethod {

//    public static <T> T getResult(T param)
//    {
//        Class<?> clazz = param.getClass();
//        try {
//            Constructor<? > declaredConstructor = clazz.getDeclaredConstructor();
//            declaredConstructor.setAccessible(true);
//            Object o = declaredConstructor.newInstance();
//            return  o;
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }

    // 其中<T>表示这个一个泛型方法，然后void表示返回类型
    public static <T>  void getMiddle(T... param){
        System.out.println(param[param.length/2]);
    }

    public static <T extends  String> T  getTest(T s){
        System.out.println(s);
        return s;
    }


}
